
#ifndef QCVMODULEHANDLERINTERFACE_H
#define QCVMODULEHANDLERINTERFACE_H

#include <opencv/cv.h>
#include <opencv/highgui.h>

/**
	@class QCVModuleHandlerInterface 
	@brief Impose certaines méthodes aux gestionnaire de modules
*/

class QCVModuleHandlerInterface
{
  public:
		/**
		@brief Force à émettre un signal de sortie, peut être utilisé par les modules
		*/
		virtual void forceOutput(cv::Mat & m)=0;

		/**
		@brief Gestion automatique de la fonction process par le handler
		*/
		virtual void setAutoProcess(bool autop)=0;

		/**
		@brief ajuste la taille du handler
		*/
		virtual void adjust()=0;
		
		/**
		@brief Recharge le module
		*/
		virtual void reload()=0;
};
#endif
